const path = require('path');
const fs = require('fs');
const multer = require('multer');
const db = require('../db/index')

// 确保上传目录存在
if (!fs.existsSync('uploads')) {
  fs.mkdirSync('uploads');
}

// 配置文件上传
const upload = multer({
  dest: 'uploads/',  // 图片上传后存储的文件夹
  limits: { fileSize: 5 * 1024 * 1024 },  // 限制上传文件大小最大为5MB
}).single('file');  // 后端接收字段名为'file'

exports.upload = (req, res) => {
  upload(req, res, (err) => {
    if (err) {
      return res.status(400).json({ success: false, message: '文件上传失败' });
    }

    // 获取文件的存储路径
    const filePath = path.join(__dirname, 'uploads', req.file.filename);

    // 生成文件的访问URL
    const fileUrl = `http://localhost:3000/uploads/${req.file.filename}`;

    // 将文件路径存入数据库
    const query = 'INSERT INTO images (file_url) VALUES (?)';
    db.query(query, [fileUrl], (err, result) => {
      if (err) {
        return res.status(500).json({ success: false, message: '数据库操作失败' });
      }
      res.json({ success: true, fileUrl });
    });
  });
}
